/**
 * 工具编辑
 * @namespace iToolEdit
 */
import { InterfaceProxy } from 'mider'
import { defaultOptions } from './_options'

/** @lends iToolEdit# */
const interfaceOpt = {
  getWorkflowByPages: {
    name: '获取编辑记录列表',
    url: '/v1/tool-api/workflow/edit-records/list',
    pathParams: {
      editType: String // 编辑列表 edit_records | 审核列表 review_records
    },
    params: {
      status: String, // 编辑记录状态：【编辑中: editing, 待审核：unreviewed, 审核中：reviewing, 已通过：finished, 未通过：rejected】
      // 审核记录状态：【待审核：unreviewed, 审核中：reviewing, 已审核：reviewed】
      limit: Number, // 分页，条数，默认 10
      offset: Number, // 分页，偏移，默认 0
      sort: Number // 更新时间排序，不传默认 倒序 -1 ，正序为 1
    }
  },
  getWorkflowById: {
    name: '获取编辑记录详情',
    url: '/v1/tool-api/workflow/:id',
    pathParams: { id: String }
  },
  createWorkflow: {
    name: '创建编辑记录',
    url: '/v1/tool-api/workflow/:operation',
    pathParams: {
      operation: String // 新增 create | 修改 edit
    },
    method: 'post'
  },
  updateWorkflowData: {
    name: '更新编辑记录数据',
    url: '/v1/tool-api/workflow/:id',
    pathParams: {
      id: String
    },
    method: 'put'
  },
  updateWorkflowStatus: {
    name: '更新编辑记录状态',
    url: '/v1/tool-api/workflow/:id/status',
    pathParams: { id: String },
    method: 'put',
    data: {
      operation: String, // 编辑者：拒绝状态变成编辑状态,已提交变成编辑中状态：'edit',放弃编辑，删除所有的编辑内容：'cancel',提交审核：'commit',
      // 审核者：把待审核资源变成审核中’review‘,审核通过'pass',审核不通过：'reject',取消审核：'giveup',
      reviewerComment: String // 评论信息：该字段仅在审核通过或者审核不通过时候的有意义
    }
  }
}

/** @mixes iToolEdit */
const iToolEdit = new InterfaceProxy(interfaceOpt, defaultOptions)
export default iToolEdit
